- Забывчивая передача
-
В криптографии, протокол Забывчивая передача (часто сокращается как OT - oblivious transfer) - это тип протокола передачи данных, в котором передатчик передает по одному возможные части информации получателю, но не запоминает (является забывчивым), какие части были переданы, если вообще были.
Первая форма забывчивой передачи была представлена в 1981 году Мишелем О. Рабином1. В этой форме передатчик передает сообщение получателю с вероятностью в 1/2, в то же время не запоминая, было или нет сообщение получено получателем. Забывчивый алгоритм Рабина основывается на RSA криптосистеме. Более полезная форма забывчивого протокола называется 1-2 забывчивая передача или "забывчивая передача 1 из 2", была разработана позже Шимоном Ивеном, Одедом Голдрейхом и Абрамом Лемпелом с целью создания протокола для протоколов конфиденциального вычисления. Этот протокол впоследствии был обобщен в "Забывчивая передача 1 из n", где пользователь получал в точности 1 часть информации, а сервер не знал, какую именно; кроме того, пользователь не знал ничего об оставшихся частях, которые не были получены.
В ходе дальнейших работ забывчивые протоколы стали одной из фундаментальных и важнейших проблем в криптографии. Они рассматриваются как самая важная проблема в области шифрования из-за важности приложений, построенных на их основе. В частности, забывчивые протоколы сделали возможным существование протоколов конфиденциального вычисления.4
Содержание
Забывчивый алгоритм передачи Рабина
В забывчивом протоколе передачи данных Рабина, отправитель генерирует RSA публичные модуля N=pq где p и q большие простые числа и экспоненту е взаимно простую с (p-1)(q-1). Отправитель шифрует сообщение m как memodN.
- Отправитель посылает N, e и me mod N получателю.
- Получатель выбирает случайное x mod N и передает x2 mod N отправителю.
- Отправитель находит квадратный корень y из x2 mod N и передает y получателю.
Если отправитель находит y не является ни x ни -x modulo N, получатель сможет факторизовать N0 и тем самым расшифровать me для получения m. Однако, если y is x или -x mod N получатель не будет иметь информации о m. Т.к. каждый квадратный вычет modulo N имеет 4 квадратных корня, шанс что получатель расшифрует m равен 1/2.
Забывчивый протокол 1 к 2
В данной версии протокола, отправитель посылает два сообщения m0 и m1, а получатель имеет бит b, и хотел бы получить mb, без того что бы отправитель узнал b, в то же время отправитель хочет быть уверенным в том, что получатель получил только одно из двух сообщений.5
- Отправитель имеет два сообщения, , и хочет отправить одно единственное получателю, но не хочет знать какое из них именно он получит.
- Отправитель генерирует пару ключей RSA, содержащие модули , публичную экспоненту и скрытую .
- Отправитель так же генерирует два случайных значений и отсылает их получателю вместе с публичными модулями и экспонентой
- Получатель выбирает (1, 0) и выбирает или первый или второй .
- Получатель генерирует случайное значение и шифрует рассчитывая , которые возвращает отправителю.
- Отправитель не знает какое из и выбрал получатель, и пытается расшифровать оба случайных сообщения, получая два возможных значения : и . Одно из них будет соответствовать , будучи корректно расшифрованным, тогда как другое будет случайным значение, не раскрывающем никакой информации о .
- Отправитель шифрует оба секретных сообщения с каждым возможным ключом и посылает их оба получателю.
- Получатель знает какое из двух сообщений может быть расшифровано с помощью , и он получает возможность расшифровать только одно сообщение
Забывчивый протокол 1 из-n и забывчивый протокол k-из-n
Забывчивый протокол 1-из-n и забывчивый протокол k-из-n может быть определен как обощение Забывчивого протокола 1-из-2. Получатель имеет nсообщений а получатель - индекс i; получатель желает получить только i-тое сообщение из списка, без того что бы отправитель узнал i, а получатель получил только это сообщение.6
В дальнейшем этот тип протоколов был обобщен до k-из-n, где получатель получает набор из k из n коллекции сообщений. Набор из kсообщений может быть получен одновременнои, или же они могут быть запрошенны по порядку, где каждый следующий запрос основанн на предыдущем запросе.
Ссылки
- ↑ Michael O. Rabin. "How to exchange secrets by oblivious transfer." Technical Report TR-81, Aiken Computation Laboratory, Harvard University, 1981. Scanned handwriting on eprint.iacr.org archive. Typed version available on Dousti's homepage (Alternate link on Google Docs).
- ↑ Joe Kilian. "Founding Cryptography on Oblivious Transfer", Proceedings, 20th Annual ACM Symposium on the Theory of Computation (STOC), 1988. Paper at ACM portal (subscription required)
- ↑ Gilles Brassard, Claude Crépeau and Jean-Marc Robert. "All-or-nothing disclosure of secrets." In Advances in Cryptology: CRYPTO ’86, volume 263 of LNCS, pages 234–238. Springer, 1986.
- ↑ Moni Naor and Benny Pinkas. "Oblivious transfer with adaptive queries." In Advances in Cryptology: CRYPTO ’99, volume 1666 of LNCS, pages 573–-590. Springer, 1999.
Симметричные криптосистемы Поточный шифр Сеть Фейстеля ГОСТ 28147-89 • Blowfish • Camellia • CAST-128 • CAST-256 • CIPHERUNICORN-A • CIPHERUNICORN-E • CLEFIA • Cobra • DFC • DEAL • DES • DESX • EnRUPT • FEAL • FNAm2 • HPC • IDEA • KASUMI • Khufu • LOKI97 • MARS • NewDES • Raiden • RC5 • RC6 • RTEA • SEED • Sinople • TEA • Triple DES • Twofish • XTEA • XXTEA
SP-сеть Другие Криптосистемы с открытым ключом RSA • DSA • DSS • NTRUEncrypt • Эль-Гамаля • Меркля — Хеллмана • Шнорра • Эллиптические • ГОСТ Р 34.10-2001 • ДСТУ 4145-2002
Хеш-функции Общего назначения Криптографические JH • HAVAL • Keccak (SHA-3) • LM-хеш • MD2 • MD4 • MD5 • MD6 • N-Hash • RIPEMD-128 • RIPEMD-160 • RIPEMD-256 • RIPEMD-320 • SHA-1 • SHA-2 • Skein • Snefru • Tiger • Whirlpool • ГОСТ Р 34.11-94
Категории:- Хеш-функции
- Криптография
Wikimedia Foundation. 2010.